package com.wsc.wisdomchina.ai;

import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.PopupWindow;

import com.samton.interfaces.IBenHttpCallBack;
import com.samton.mainSDK.IBenChatSDK;
import com.samton.utils.ToastUtil;
import com.wsc.wisdomchina.R;
import com.wsc.wisdomchina.ai.widget.RatingBar;

import static com.samton.model.Constants.TAG;

/**
 * 评分弹框
 * Created by syk on 2017/3/7.
 */

public class GradePopUtil extends PopupWindow implements View.OnClickListener {
    /**
     * 上下文对象
     */
    private Context mContext = null;
    /**
     * 布局
     */
    private View mContentView = null;
    /**
     * 确认按钮
     */
    private Button mConfirmBtn = null;
    /**
     * 取消按钮
     */
    private Button mCancelBtn = null;
    /**
     * 评分条
     */
    private RatingBar mGradeBar = null;
    /**
     * 评论
     */
    private EditText mEditText = null;
    /**
     * 评分
     */
    private int gradeValue = 0;
    /**
     * 在哪个控件下
     */
    private View view = null;


    public GradePopUtil(Context mContext,View view) {
        this.mContext = mContext;
        this.view = view;
        // 初始化布局
        initView();
    }

    /**
     * 初始化布局
     */
    private void initView() {
        // 布局文件
        mContentView = LayoutInflater.from(mContext).inflate(R.layout.layout_grade_pop, null, false);
        // 弹框布局
        setContentView(mContentView);
        // 获取焦点
        setFocusable(true);
        // 设置外部不可点击
        setOutsideTouchable(false);
        // 实例化一个ColorDrawable颜色为半透明，点back键和其他地方使其消失
        setBackgroundDrawable(new ColorDrawable());
        // 设置宽度,若没有设置宽度为LayoutParams.WRAP_CONTENT
        setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
        setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
        // 设置动画
        setAnimationStyle(R.style.c_anim_move_bt);
        // 确认按钮
        mConfirmBtn = (Button) mContentView.findViewById(R.id.mConfirmBtn);
        // 取消按钮
        mCancelBtn = (Button) mContentView.findViewById(R.id.mCancelBtn);
        // 评分条
        mGradeBar = (RatingBar) mContentView.findViewById(R.id.mGradeBar);
        // 评论内容
        mEditText = (EditText) mContentView.findViewById(R.id.mEditText);
        // 监听事件
        mConfirmBtn.setOnClickListener(this);
        mCancelBtn.setOnClickListener(this);
        // 评分条
        // 设置可否点击
        mGradeBar.setClickable(true);
        // 设置显示的星星个数
        mGradeBar.setStar(0f);
        // 设置每次点击增加一颗星还是半颗星
        mGradeBar.setStepSize(RatingBar.StepSize.Full);
        // 星星点击事件
        mGradeBar.setOnRatingChangeListener(new RatingBar.OnRatingChangeListener() {
            @Override
            public void onRatingChange(float ratingCount) {
                switch ((int)ratingCount){
                    case 1:
                        // 不满意
                        gradeValue = 1;
                        break;
                    case 2:
                        // 一般
                        gradeValue = 2;
                        break;
                    case 3:
                    case 4:
                    case 5:
                        // 满意
                        gradeValue = 3;
                        break;

                }
            }
        });
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.mConfirmBtn:
                break;
            case R.id.mCancelBtn:
                // 消失对话框
                dismiss();
                break;
            default:
                break;
        }
    }

    /**
     * 显示控件
     */
    public void show(){
        this.showAtLocation(view, Gravity.CENTER,0,0);
    }
}
